import json
from pathlib import Path

# 文档类型配置
DOC_TYPES = {
    'ARRIVAL': '到货证明',
    'ACCEPTANCE': '验收证明',
    'UNKNOWN': '其他文件'
}

# 文件类型配置
SUPPORTED_FORMATS = ('.jpg', '.jpeg', '.png', '.bmp')

# 配置文件路径
CONFIG_FILE = Path.home() / '.contract_renamer' / 'config.json'

# 日志配置
LOG_DIR = Path.home() / '.contract_renamer' / 'logs'
ERROR_LOG = LOG_DIR / 'error.log'

# 默认配置
DEFAULT_CONFIG = {
    'baidu_ocr': {
        'app_id': '',
        'api_key': '',
        'secret_key': ''
    }
}

def load_config():
    """加载配置"""
    config_dir = Path.home() / '.contract_renamer'
    config_file = config_dir / 'config.json'
    
    if not config_file.exists():
        return {
            'baidu_ocr': {},
            'last_dirs': {
                'input': '',
                'output': ''
            }
        }
    
    with open(config_file, 'r', encoding='utf-8') as f:
        return json.load(f)

def save_config(config):
    """保存配置"""
    config_dir = Path.home() / '.contract_renamer'
    config_dir.mkdir(parents=True, exist_ok=True)
    config_file = config_dir / 'config.json'
    
    with open(config_file, 'w', encoding='utf-8') as f:
        json.dump(config, f, ensure_ascii=False, indent=2)

def setup_logging():
    """初始化日志目录"""
    LOG_DIR.mkdir(parents=True, exist_ok=True)
    if not ERROR_LOG.exists():
        ERROR_LOG.touch()